package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.dto.SubAccountQueryDTO;

/**
 * 账号服务
 */
public interface IAccountService {
    // 获取登录token
    String getToken(String userId, String dest);

    // 账号注册
    boolean register(String appUid, String userId, String userName, String email,
                     String avatar, Integer type, String defaultPassword,
                     String departmentNodeId, String kujialeBindReason);

    // 账号解绑
    boolean unbind(String userId);

    // 账号换绑
    boolean rebind(String appUid, String userId,String oldUserId, String kujialeBindReason, String kujialeRebindReason);

    // 查询子账号列表
    Object querySubAccountList(SubAccountQueryDTO queryDTO);

    // 获取账号上限和数量信息
    Object getAccountLimitInfo(String appUid);

    // 禁用酷家乐账号
    boolean disableKujialeAccount(String appUid);

    // 启用酷家乐账号
    boolean enableKujialeAccount(String appUid);

    // 查询酷家乐账号状态并同步到本地
    void syncKujialeAccountStatus(String appUid);
}
